{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 15.7. Analyzing a nonlinear differential system — Lotka-Volterra (predator-prey) equations"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "podoc": {
     "output_text": "(a, b, c, d)"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "(a, b, c, d)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sympy import *\n",
    "init_printing(pretty_print=True)\n",
    "\n",
    "var('x y')\n",
    "var('a b c d', positive=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "f = x * (a - b * y)\n",
    "g = -y * (c - d * x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "podoc": {
     "output_text": "Output"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nRK5CYII=\n",
      "text/plain": [
       "Output"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "solve([f, g], (x, y))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "(x0, y0), (x1, y1) = _"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "podoc": {
     "output_text": "Output"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nzecgOidbJhoGrgnWLvZyZqch/RBN8vq1hp372g3MxRPcHZ7GwcmSiYYRTseevHccbobixCWvIRWU\nvLa/hmAVOcKVU9yFrMcxb1ky0R5daXtee2aTqoXrU2OS1zBwQ8nrPStj6KBQXu3iLmQrOidbJto0\noTpWr7j/uCWkREJz7x7J664luAS7h7etEtxKHHJjYmy60TmZMtHWVG5gvhLF9Yx2I2yT2i95bYvc\nFXXnebbx9hsZB0LmQwyZaGvGbHqnqjsQvbCbj2mS1xWr/d6e1mytu+YuUWkoseTxAzsv8i+BdbAV\nnBVkW4+G1r6jSV4XrQykf9neiXCLbGNOYuBkykRbk4toEFnT+E/gfaEjKEXyWgW6MWzzY3t7S4ZY\nbPbpVYers1ky0VYqiFnKFTBaVtRP9cF7w2cKNMnr3v6ykmvegM7iZeX3/TPyQxzEwcmSibYm9RnZ\n9biqgYANDQIHRfI6p4GrYDQwPdJVsL9MzoCNODhZMtGW8ycKiI/fDb71kXq03I8ieZ35kPZd86rl\nF/T3132hqBsLJ/JHG7Q2R0SoGI549/fRt2bVkhAV5Rn0SImRc4fabF+VvFFKaKLdiYGTKRPthPWD\ntDn9etUhONky0U6GO0qb069XHYKTLRON0vxWypx+verzc7Jlol0D3UwXk6JXHWK/CVMm2j3jNF1O\nil71+TnZMtFu3n2WtnnWo3OyZaLR0UvZQCl61efnZMpEe4fiUpqYNL3q83MyZaK9dds0TU6aXnWY\nuMKQicaq60GKnDS96hCcDJlo3LFvpYdJ1asOk/fRZaLxU47T46TqVYfhpMpEkyG0mxYmXa9alr5J\n9TAtTrpetSzO+bSKbYZetTT9oc61lHK+iZIoZ+6JlKZtN1nOd9gx45xxvns50bF10fiqLtuF5mzO\nOC8sZ+En6OheNM63Xbb/A2VRw+TCusFEAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "Output"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "M = Matrix((f, g))\n",
    "M"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "podoc": {
     "output_text": "Output"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAogAAADIBAMAAACZoA3MAAAAMFBMVEX////c3NzMzMy6uroyMjIQ\nEBAiIiJUVFSqqqpmZmaIiIhERETu7u6YmJh2dnYAAACf/qw+AAAAAXRSTlMAQObYZgAAAAlwSFlz\nAAAOxAAADsQBlSsOGwAAECxJREFUeNrtnUtoJMcZx2umNdK8dw5ebCcQKSQB+zQC4xDbAelijHOZ\nNckmwQ5pPzDB2Q2jrB+XHEYmh4TkMIIYTC4eJWB8MHjWIfJpnRli1ms7YK0vBicLGkzsYBwi7Wq6\nR6tXpaq7q6p7pudVXT3Vmq26rNTa6fn6V1Vf/eur6vpA/n+0XAWqjF7eYODAJqTloiIzRikzcAqi\ngqggThPEYwUkSElZEPcVCAVRQVQQVVEQFcRbAmL2rn++/Ja+FrEnDsGqMCFWIqnfQ7AqTIi6Ze56\nxCCGYFWYEO//4nlk7kLEIIZgVcgDC6r2CA4Eoq0KGSKEBxGEKNqqcCHGYBTVk3CrwoWYg/BG9CAK\ntypciOjuO5HUxjsnCOJsJMO8wq0KF+Jm9GRiGFaFC7EaPZkYhlXhQqxFUiYKtypciGXYjiBE4VaF\nCjELo7gEJt6qUCEmIdyNHkTxVoUK8RaRieFCRIJsOZIycfkEQUSCrBVJmdg6QRCRIFuMpExcPEEQ\nbxGZ2B9i8gX9oaAVZgmyD98yvlcgV3IbxrORkIkeqwCIfVl+7Jr1w+fw3KooiB/o0IAHTZD9bkBB\ndjuEOrzpXImXDB2ukL+ndRnRiV6rkF0N9LSWp9yGZ8efWfeBmIbwAtDK59FN+ZsjFmQ5+GgzVoeP\n2FeWOoUcs31bSsS21yoAtsyPwPs43J0xrgGtclMIxGwDPoX+ybRzQaJG6N6HFTw50KBhdZ04XMWx\neTL7d7eFicpEr1X4Et6rXkd9pILET648bnzCH+K9zuyy/HEQiEiQnTOshtywldnlI8slOXeMQXgk\nRyZ6rUJdwmqSCbiXN4G1MN0SADEO4Xm7+8EgmgrvwCX3sb6hgt0hhGecQUbO2kGPVSBnt8gUNIvX\nre7O3HYAiEVoNEmtBfCJSJA5HSYBDatumlb7O7T/PCdnUthtFQDzu2QcwLtLMlBIS4zTGTq6L2wG\nEWROU5uB2BtmbE9EICbkrB10WwVAqUV6BixYZo3bcPwgztL2jHCa/OaWHCOt2kW8cGfBX+h053k5\nawfdVqHeTFvMgX21I2B0rpHejPse/wCaZWvkduCktuxpf1tS1g56rAKzR/TXPfzMZbgWHKLGgpZa\nkNCbZhvluD/UCvWr9ljlNISKlElhj1WgeoY2TMvRaC8KmLEk7HvjkqcOjKPk2cCRwZURh96Zqy5l\ni0m3VUjprNHn5gyR+UCss5vNBAm9uT48i6s/3bHRdairkDFh6bYKaa4C9dEtYRB12uHAqYAyscXu\ncwS0Nz0OQp5M9FgFwCuBQ2S9EHMuWbPkd9+7futbfl3o+n/M+2HLd6kfOhOuTBxinq9VAUNkvRCR\na2izEAH0mzb5l+4haNtTGTdo7a+FKhOHmedrFQuRCYJYdPmqks99T/Wzcr9HkJkunoe0zyyEKhOH\nmedrFQ2RiYK47aofv/umn/Y30nyz6z+6NGaDdt0KfYaQtpgMM8/XKhIiEwaxRL1WMJkYZ4IMWU6G\nRFYtctYO/K1ySW8hELOuIEY+iO9PM7kZo3P6JGvmZSky0dcq4kyXRUHUXO8nBJKJGdai03S7PruY\nlSMTfa3q1j6BIeZctw4kE11bKVFlGN2Dc1KOTPS1KqBM7IWI6wcMkomjloRH1d6kQ/9qYBcUpPha\nRXx0UxTElFcm8kcTTzFVW6WOqE7vKGknsq9Vjo/mjvr1QJxz1Y+tqbRLvPMrUgMVOlZVaA+StBPZ\n1yrHR5Pnfk0ExGPvfWdu8JrrGvALpLo74cpELqscH71H/tAMCjHP1uCc0NvmDm/HYWNVhwY35MpE\nf6scEM70JW0GbolpJrCd+1b5fFeC9lw0DP6E6tsjqTLRz6p3Vp0R53HHW+8Hhhhn0iNha6oKn+/K\nUHO32CDv6jNyXljrtSpv+5UiHeiWDgNDZM+Jexz2vHqBy9w86ThZ104H3bWOKOWFtV6rtu0ZRY0q\n2NJ6cIgV0uNy9rRIM7hnqU3yFctsvHdq6LKkncg9VuHJ345VvWRmOr7S8QuFdej4ifeozPEGiMqO\nIluCZpMpz30aQZHzwlq3VbipIGeYNkhLnN8VAHHGafAa/MSCuHmd09wtW4bRPSl2DR2QXiXphbVu\nq/J2f5s/qti1mi23BECMOZp+az9uPWiNt8Vk7AnBadhuuuf/TWfmIumFtW6r0vYMrbFStCXOux0g\nACLqxniT1BXUChuo1jRY4DQ3prft7tJyX7MawhWjLGsncrdVWWign+ZMRBPj03g2nvpATEJjFdwJ\nn8Tz2z1Q5Vcip+FTQCvB77uvfQseLICv6U/o0s416Laq3l4EyfJ57K8vgfcaPCOA3zaS2/BeXHwp\nW0E/8Lsu9HHkrn/RfQ3fXOK5Bt1WJXV4FnaaVus8C9uLgiCCux803rY8hvaSeSFI1/m3/oM/dF97\nXTffbua8EZTJduguq7Tn9Gcs/5zbMB7mctSSzgrL0EnWNBRJEKP5Sv4Jg7gFuQf9Wx7iO4t03tAB\nCiJXuUImgJrEceWkQ2yQ+ekMhGsKIldx5vqWSzSBgsira5xJvh7F069OBkS8682KbcxZ4SEFkafM\nkFXJ+pSdBDxJiHPQXHd847qCyFnIQsO2lBcjp0biWHspvgrNgoLIXd6Fn4LY76etM0962lfDG3+N\n/wIFMUDJvq6bf1sACqIqCqKCqCAqiKooiAqigqggqqIgKogKooKoioKoICqICqIqCqKCqCCqoiAq\niAqigqiKghgxiH//zhu/evDmdNLJfuN3//mrvhY6xJR1sF5nOiFae4eGH6IfGGLC+p6j6YSoWw93\nNXSI2hsv69P1Voqr3P/F83CEd79EDCwJdpzeNDbG4QeJCIK4MsUQOxOBuDllb1R4xudR/L0IiNWp\nemXUW5Kj+HsREGvQmNrenBrF34uAWJ5WmQjcuWnChZg9cTJxY1WsvxcAMXnSZKI2xpnNI/l7ARBT\nJ00mJsewdyR/LwDirKyz03hLbgyII52VKQDiiTtZZAyIo52VKQBiVdbZaROAONqR6gIgRjOLsxiI\nox2pLgBiWdrZaeFDHM3fB4eYhSdtdWEMiKP5++AQJWVimAzE0fx9cIiSMjFMBuJo/j4IxN883X7W\n4zb+pf9oMQKQsq89Dc/9KRjE5Av6Q4tefx/7svzYNeuHz+G5VTEQs6/i4yQvudzGN/FpjvTvr8oa\nbpINfJokfDMIxA90aMCDptvfxxv48MoWwGdYnPW6Sn6IddhZAN82m9RtaPCXYIseX5WXJcGTOny0\nAOKf9U8lMxxiGsILQCufd/v7LfMj8D5umBnjGtAqN0VA/Ac0sZWNZeo2ins4P4LrzH0px4HFGs7T\n1G5wQ8w24FPon0zb5e9TVjSnDldAZRndouwecHgharodCpk9Im4ji5PmzlIfMi9pzWCLnP2canND\nvNfJ61P+mPn77UfsprGXx8ecVTxnNvNCLDqn+Gk0reAcdoen3PkRZEwG8+Sxb9f7xrCGQaQHmS+x\nI9Vzdor3FDRxqu+kd0mfE2KcZgcpE7dRPLTbn90OJGVvRprE7goxV1rbcSEWSZLwWXakunOYPnKW\neFdJBopoiUWaHaRO3EajZdedA1HOQdpz5HDBGcgNMQ5dqTpISyi1nI9aQVq87WMxMES2rELymMSt\n3kNjmJIO0q6TpjM/YOfCEIhsWSVOU7vnDIoVX8n0ZBXigJhiuX5IXlfbj9P2Jyd7M8s0vwT7h6SH\nQKyR3uxqCbNH9MFxLpRY2SM9+CAuMZdAcvsljoA7ofyclMngabpSsTkgDetgiKwiXLlcq84nMk4m\nK+3F4DMWnfUVkgK6uOOZRyekrBk06GiaxgkUuCAm2Loby+XaYEmplwXNndOuBIkkBXR9Bbh35czL\nmLBoriTpdyxwTvvqjBPL5UrazLxvYlIuiAlPfl+78T9QAO68nVJk4qw3sSYfRJc2YrlcX2GhsUVB\nELdYim5vCmiWIDIcmTgkn321/wp4/B5W7oO7rt++3k3Yk899cZTQGBdEnbV4bwpo1hJCkYnD8tmX\n+6aFyOqwb1nv7mXuXK490q4tCGK8XwpoFvQIRyYOyWfflfW621v2Kxe7pxH73f6e1YVf/no+iPl+\nKaDpfCGkNYMh+ezTsH8q5Y2+DE3vR7ZdlvcgS/oLJx6I7uzSHrfBiEpZM5iBoznigQNLiW2K0XqQ\n9XksHoibrkmPx22wZR0pW0s2R3wVZBDErCs+k+9BNuufv54H4lI/t9GQm725OKIjHgRR6+fvyWO1\nBEHc6uc22OAsZWtJdcBUb1SIuX7+foBM5IJYZ83c4zbinlyyUkI4h0EhuqJf/jKxKQhirY9MTLOH\nkLK1ZHvEjZKDIKaGyEQTCIJYYWtQjtt4oOkonDPUPe9LgbgcFOKca+Zo+3vtknvUIX98TQDEltfT\nlha80Uw5W0vqI76UNATisVdZz9xwy0Sa47sZEOI2W8iz3UYWkhmTTJmI3f5aUIh5tovf8febO25Y\njr9KmwIGlkWPp00ekNHsqkSZiONUbojFq3wDy64XWRU/yTurTitxZmSz+0EhFpkK0C1PO7dPIK5K\nlIldgeCYzgMxDt3bDzCyyrrVPhcAW09CPfAwKEQGK2V72sR18q1sCXDyMhFb4wriXOZbvPfINNyw\n9QIdsmq0qZfWg0JkKaa27FF46QwZqldp4GnyDHEUh/mvbPk8F8QK8Yk5e+6CM/Hg8NCOHQK0nX7S\nFBEKWyGjlfWVlRZxynYFZaCcHcgVl/K/12xyQSyS+XfVfud+7pjmyksbpCXO7waGiASUXeNLRzUM\nMeusQMSJy9iWtAP5Mqu79ICRbSDEGacTafATC+LmdTv2h9rJ/FHFSZlXbgWHOG/7jRxcL+KPpg5o\nAOKQTJ2k7EDWqLNOlo85Q2Ex5x5b+3GrY9Uu0oW5xkrRfsB3O8FnLDihewGn7D5CHRfdb4ksbJy2\nukK28kNZO5CrzqiQK7ULnBDRPfD+ryuoFTaQ19JwL8tCAzW9ORPRxA+o6RcFQERf9GMQq5kLeDa5\nmqRyJq7Dv4DYZ+ZpWS+qaTp8Fom6L2F7FfBCTOIV6zvhk1jt7oGqhabeXkSN+zx2VJfAe41jIAJi\nrIS33q5bNWa4Pn0FWtfnpb2ohryXcRbCwVvHh2wjuQ1vo963uhT6wXqQpI53UjetIeYsbC8KgQji\nL+n2JnBwX+lnLkn4lQ147prMFNjaS7r50J/5p3243P2g8XbTvpl5wbntc/oz1mPmNoyHF4AYiINL\nI9pJc3OiXy0OA2LU37E6ERBzEX8VP8oQs/cAGsOJ9GFDyehCRGOZM1tdivg5OeOcATFhiBkaOy/B\niB+nOMZpJBOGiHSNSVzi4+CWKuIgNkjo5vJJO84gQhDLJJxZmdYjKScAseQE29LTl795chAr8OeO\nb7zlzkoWB9FZI8hP8WGKE5A4B3jSHmvAJ4CCyC22y8cL4I7GrXjwucBpn33i9k+bCmKQ8sEGPPcp\nAAqiKgqigqggKogKooKoICqIqjCIfd64VGVwKTFwCiJvKSuICmLkIKb+SMu6IjNG+YKB+z9yKyIC\neiaqUwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "Output"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "J = M.jacobian((x, y))\n",
    "J"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "podoc": {
     "output_text": "Output"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n9qvOOAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "Output"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "M0 = J.subs(x, x0).subs(y, y0)\n",
    "M0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "podoc": {
     "output_text": "{a: 1, -c: 1}"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nRK5CYII=\n",
      "text/plain": [
       "{a: 1, -c: 1}"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "M0.eigenvals()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "podoc": {
     "output_text": "Output"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nAAAASUVORK5CYII=\n",
      "text/plain": [
       "Output"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "M1 = J.subs(x, x1).subs(y, y1)\n",
    "M1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "podoc": {
     "output_text": "Eigenvalues"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n8T8Yi74CJr4qQAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "Eigenvalues"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "M1.eigenvals()"
   ]
  }
 ],
 "metadata": {},
 "nbformat": 4,
 "nbformat_minor": 2
}
